<?php
namespace Admin\Controller;

use Think\Controller;

class VctransactionController extends RightController
{
    // 加载初始化内容页,并检索
    public function index()
    {
        //判断分页时搜索条件
        if (I("get.p")) {
            $where = session("QG_SEARCH_WHERE_vctransaction");
			$params = session("QG_SEARCH_PARAMS_vctransaction");
            $where = empty($where) ? "1" : $where;
            $pageSize = session("QG_SEARCH_SIZE_vctransaction");
        } else {
            //清除session存储
            session("QG_SEARCH_WHERE_vctransaction", null);
            session("QG_SEARCH_PARAMS_vctransaction", null);
            session("QG_SEARCH_SIZE_vctransaction", null);
            $pageSize = I("post.pageSize");
			$params = I("post.");

            $where = "1";
        }

        // POST数据提交，重新组合检索条件
        if (IS_POST) {
            unset($_GET["p"]);
            $where = $this->searchCondition();
        }
		
		// 分页输入
        if(empty($pageSize)){
            $pageSize = 10;
        }

        // 总条数
        $count = M('vctransaction')
            ->alias("t")
            ->where($where)
            ->count();
        $page = new \Admin\Model\Page($count, $pageSize);
        $show = $page->show();

        // 进行分页数据查询
        $list = M('vctransaction')
            ->alias("t")
            ->join("left join member m on m.id=t.sellerId")
            ->join("left join member tm on tm.id=t.buyerId")
            ->join("left join currency c on c.id=t.currency")
            ->field("t.*,m.nickname sname,tm.nickname bname,c.china_name")
            ->where($where)
            ->order('t.id DESC')
            ->limit($page->firstRow . ',' . $page->listRows)->select();
			
		// 统计
        $sum = M('vctransaction')
            ->alias("t")
            ->field("count(1) as countNum")
            ->where($where)
            ->order('t.id DESC')
            ->find();

        // 渲染查询条件到session
        session("QG_SEARCH_WHERE_vctransaction", $where);
		session("QG_SEARCH_PARAMS_vctransaction", $params);
		session("QG_SEARCH_SIZE_vctransaction", $pageSize);
		
		// 输出数据
        $this->assign("params", $params);
        $this->assign('list', $list);
        $this->assign('sum', $sum);
		$this->assign('lists', array(
            "page" => getDropdownList("pageSize" ,"" ,false),
            "vo_type" => getDropdownList("vo_type" ,"" ,false),
            "vc_status" => getDropdownList("vc_status" ,"" ,false)
        ));
        $this->assign('page', $show);
        $this->display();
    }

    // 搜索条件
    public function searchCondition()
    {
        $where = "1";

        // 
        if (I('post.id')) {
            $where .= " AND t.id='" . I("post.id") . "'";
        }

        // 卖方账户
        if (I('post.seller')) {
            // 精确
            if (I('post.sellerCondition') == 1) {
                $where .= " AND t.seller='" . I("post.seller") . "'";
            } else {
                $where .= " AND t.seller LIKE '%" . I("post.seller") . "%'";
            }
        }

        // 卖方id
        if (I('post.sellerid')) {
            $where .= " AND t.sellerid='" . I("post.sellerid") . "'";
        }

        // 买方账户
        if (I('post.buyer')) {
            // 精确
            if (I('post.buyerCondition') == 1) {
                $where .= " AND t.buyer='" . I("post.buyer") . "'";
            } else {
                $where .= " AND t.buyer LIKE '%" . I("post.buyer") . "%'";
            }
        }

        // 买方id
        if (I('post.buyerid')) {
            $where .= " AND t.buyerid='" . I("post.buyerid") . "'";
        }

        // 数量
        if (I('post.entrustnumStart') || I('post.entrustnumEnd')) {
            // 开始
            if(I('post.entrustnumStart')){
                $where .= " AND t.entrustnum>='" . I("post.entrustnumStart") . "'";
            }
            // 结束
            if(I('post.entrustnumEnd')){
                $where .= " AND t.entrustnum<='" . I("post.entrustnumEnd") . "'";
            }
        }

        // 交易类型 1：现金交易 2：余额交易

        // 1：已挂单 2：未付款 3：已付款 4：确认 5：取消

        // 创建时间
        if (I('post.createtimeStart') || I('post.createtimeEnd')) {
            // 起始日期
            if(I('post.createtimeStart')){
                $where .= " AND t.createtime>='" . I("post.createtimeStart") . "'";
            }
            // 结束日期
            if(I('post.createtimeEnd')){
                $where .= " AND t.createtime<='" . I("post.createtimeEnd") . " 23:59:59'";
            }
        }

        // 更新时间（成交时间或取消时间）
        if (I('post.updatetimeStart') || I('post.updatetimeEnd')) {
            // 起始日期
            if(I('post.updatetimeStart')){
                $where .= " AND t.updatetime>='" . I("post.updatetimeStart") . "'";
            }
            // 结束日期
            if(I('post.updatetimeEnd')){
                $where .= " AND t.updatetime<='" . I("post.updatetimeEnd") . " 23:59:59'";
            }
        }

        // 对应币种
        if (I('post.currency')) {
            $where .= " AND t.currency='" . I("post.currency") . "'";
        }

        return $where;
    }

    // 添加会员
    public function add()
    {
        if (IS_POST) {
            // 数据
            $data = array();

                // 
                    $data['id'] = I('post.id');
                // 卖方账户
                    $data['seller'] = I('post.seller');
                // 卖方id
                    $data['sellerId'] = I('post.sellerid');
                // 买方账户
                    $data['buyer'] = I('post.buyer');
                // 买方id
                    $data['buyerId'] = I('post.buyerid');
                // 数量
                    $data['entrustNum'] = I('post.entrustnum');
                // 交易类型 1：现金交易 2：余额交易
                    $data['type'] = I('post.type');
                // 1：已挂单 2：未付款 3：已付款 4：确认 5：取消
                    $data['status'] = I('post.status');
                // 创建时间
                    $data['createTime'] = I('post.createtime');
                // 更新时间（成交时间或取消时间）
                    $data['updateTime'] = I('post.updatetime');
                // 对应币种
                    $data['currency'] = I('post.currency');

            //创建数据
            $result = M('vctransaction')->add($data);

            if ($result) {
				$this->ajaxSuccess("添加成功！");
            } else {
				$this->ajaxError("添加失败！");
            }
        } else {
            $this->display();
        }
    }

    // 编辑资料
    public function edit()
    {
        if (IS_POST) {
            $return = array();

            // ID
            $id = I("post.id");
			
			// 没有ID
			if(empty($id)){
				$this->ajaxError("错误！");
			}

            // 判断用户是否存在
            $dbData = M('vctransaction')
                ->where(array("id", $id))
                ->find();

            //判断用户是否存在
            if (empty($dbData)) {
				$this->ajaxError("数据不存在！");
            }

            // 更新数据
            $data = array();

                // 
                    $data['id'] = I('post.id');
                // 卖方账户
                    $data['seller'] = I('post.seller');
                // 卖方id
                    $data['sellerId'] = I('post.sellerid');
                // 买方账户
                    $data['buyer'] = I('post.buyer');
                // 买方id
                    $data['buyerId'] = I('post.buyerid');
                // 数量
                    $data['entrustNum'] = I('post.entrustnum');
                // 交易类型 1：现金交易 2：余额交易
                    $data['type'] = I('post.type');
                // 1：已挂单 2：未付款 3：已付款 4：确认 5：取消
                    $data['status'] = I('post.status');
                // 创建时间
                    $data['createTime'] = I('post.createtime');
                // 更新时间（成交时间或取消时间）
                    $data['updateTime'] = I('post.updatetime');
                // 对应币种
                    $data['currency'] = I('post.currency');

            // 更新数据
            $result = M('vctransaction')
                ->where(array("id" => $id))
                ->save($data);

            if ($result !== false) {
				$this->ajaxSuccess("更新成功！");
            } else {
				$this->ajaxError("更新失败！");
            }
        } else {
            // ID
            $id = intval(I("get.id"));

            // 判断是否存在
            $data = M('vctransaction')
                ->alias("t")
                ->field("t.*")
                ->where(array("t.id" => $id))
                ->find();

            // 判断是否存在
            if (empty($data)) {
                $this->error("数据不存在");
            }

            $this->assign("data", $data);
            $this->display();
        }
    }

    // 删除
    public function delete()
    {
        if (IS_POST) {
            // ID
            $id = intval(I("post.id"));
			
			// 没有ID
			if(empty($id)){
				$this->ajaxError("错误！");
			}

            //删除数据
            $result = M('vctransaction')->where(array("id" => $id))->delete();

            // 如果删除成功
            if ($result) {
				$this->ajaxSuccess("删除成功！");
            } else {
				$this->ajaxError("删除失败！");
            }
        }
    }
}